lib.use(['element', 'table', 'form','tablePlug','tree'], function () {
    var table = layui.table;
    var layer = layui.layer;
    var form = layui.form;
    var tree = layui.tree;
    //表格插件
    var uomTable;
    var pId=0;
    //初始表格基础参数
    table.set(common.layui.table.config());

    // 渲染表格
    uomTable = table.render({
            elem: '#uomTable'
            , url: common.util.createUrl('/base/uom/list')
            , cols: [[
                {type:'checkbox'}
               ,{type: 'numbers', title: '编号' }
               ,{ field: 'id',  hide: true }
               ,{ title: '单位编码', field: 'uomCode'}
               ,{ title: '单位名称', field: 'uomName'}
               ,{ title: '是否有效', field: 'isValid' ,templet: function (row) {return common.dist.getValue("comm.ValidEnum",row.isValid);}}
               ,{ title: '备注', field: 'remark'}
             //  ,{ title: '创建人', field: 'createUserName'}
               ,{ title: '创建时间', field: 'createTime'}
             //  ,{ title: '修改人', field: 'updateUserName'}
             //  ,{ title: '修改时间', field: 'updateTime'}
            ]]
    });


    common.ajax.post('/base/uom/tree', {}, function (resp) {
        //开启节点操作图标
        tree.render({
            elem: '#uomTree'
            ,data: resp.data
            ,onlyIconControl:true
            ,click: function(obj){
                var data = obj.data;  //获取当前点击的节点数据
                pId=data.id;
                searchTable({pId:pId});
            }
        });
    });

    /**
     * 监听行单击事件，进入编辑事件
     */
    table.on('rowDouble(uomTableFilter)', function(obj){
        update(obj)
    });
    /**
     * 监听删除按钮事件
     */
    $(document).on('click','#del',function(){
        del(table.checkStatus('uomTable'))
    });

    /**
     * 监听编辑按钮事件
     */
    $(document).on('click','#update',function(){
        update(table.checkStatus('uomTable'))
    });
    /**
     * 监听新增按钮事件
     */
    $(document).on('click','#add',function(){
        var config = {
            title:"新增计量单位",
            content: 'base/uom/uomForm.html?pId='+pId //iframe的url，no代表不显示滚动条
        }
        common.util.openWindow(busCommon.baseWindowConfig(config))
    });


    /**
     * 监听搜索条件提交事件
     */
    form.on('submit(searchFilter)', function(data){
        var param = data.field;
        searchTable(param)
        return false;
    });

    /**
     * 查询表格
     * @param params
     */
    function searchTable(params) {
        params=$.extend(params,common.from.serializeObject('#searchFrm'))
        uomTable.reload({where: params})
    }

    /**
     * 修改
     * @param obj
     */
    function update(obj) {
        var postData = [];
        if(obj.data.constructor === Array){
            postData=obj.data.map(function (item) {
                return item['id'];
            });
        }else{
            postData=[obj.data.id]
        }
        if(postData.length!=1){common.util.error('请选择一条记录');return;}
        var config = {
            title:"新增计量单位",
            content: 'base/uom/uomForm.html?id=' + postData[0], //iframe的url，no代表不显示滚动条
        }
        common.util.openWindow(busCommon.baseWindowConfig(config))
    }
    /**
     * 删除
     * @param obj
     */
    function del(obj) {
        var postData = [];
        if(obj.data.constructor === Array){
            postData=obj.data.map(function (item) {
                return item['id'];
            });
        }else{
            postData=[obj.data.id]
        }

        if(postData.length!=1){common.util.error('请选择一条记录');return;}
        layer.confirm('确认删除!', function(index){
                console.log('Del param is', postData);
                common.ajax.get('/base/uom/delete/'+postData[0], {}, function (resp) {
                    searchTable();
                    layer.close(index);
                })

         });
    }
    window.formCallBack=function (params) {
          searchTable(params);
    };
});
